Clownacy's .dll Mod Loader
Clownacy's .dll Mod Loader will allow you to use and toggle .OGG audio files for your in-game music, provide Widescreen Support, enable Debug Save Mode, Change control methods to WASD, Simplify Gamepad Controls, and much more. This external mod was made by Clownacy. Download (Github) Cave Story Tribute Site Forums Thread Required Tools * Notepad Summary So here's a mod that replaces the Org music with Ogg music, with drag-and-drop support for the WiiWare and Cave Story 3D soundtrack files from Cave Story+. The mod supports two formats of Ogg music: # The first is the version used by the WiiWare soundtrack, where each song gets one Ogg file that repeats in its entirety. # The second is the format used by the Cave Story 3D soundtrack - each song gets two files: 'songname_intro.ogg' and 'songname_loop.ogg'. As you can imagine, when a song starts playing, it plays the intro file first, then when it ends, it continues onto the loop file. When the loop file ends, it loops back to itself, meaning the intro never gets played again. This allows for more complex music. Ogg music in the WiiWare format should go in a folder called 'Ogg', which you create in the 'data' folder. Music in the second format should go in an 'Ogg11' folder. Like I said, you can copy the soundtrack files from Cave Story+'s data/base/Ogg(11) folders into your new folders, and they'll play in your game! Technicals The mod relies on SDL2 and its SDL_mixer extension for music playback, which in turn uses libogg, libvorbisfile, and libvorbis. With slight modifications, it should be possible to add support for the other formats SDL_mixer supports, like MP3, FLAC, and MIDI. Installation The Ogg mod comes with the DLL Mod Loader. See its section of the post below. Remember, unless you're making your own soundtrack, you'll need to provide your own copy of the WiiWare/Cave Story 3D soundtracks to have them play in this mod. Cave Story+ is a legitimate way of obtaining them. From it, you can extract the 'Ogg' and 'Ogg11' folders from the 'data/Base' folder, and paste them into your Freeware Cave Story's 'data' folder. The DLL Mod Loader This is a loader for mods stored in DLL files. Usage Mods are installed in a folder called 'mods' in your Cave Story directory. Inside that same folder is a 'mods.txt' file, which controls which mods will be loaded. Each line in mods.txt contains the name of the mod you want to load. Here's a sample layout: 60fps ogg_music wasd_input If there's an error in your mods.txt, a file inside the mods folder called 'error.txt' will be made when you try to run the game, telling you what went wrong. Inside the mods folder, each mod has its own folder, inside which the mod's DLL file and settings file are stored, leading to a file layout like this: Cave Story folder Doukutsu.exe --mods folder mod_loader.dll mods.txt ----ogg_music folder ogg_music.dll settings.txt playlist.txt ----60fps folder 60fps.dll settings.txt Installing the Mod Loader Download the mod from the Github source. Inside the zip file is a folder called 'mods'. Extract that folder to your Cave Story directory (so mods is in the same folder as Doukutsu.exe). 'Now that we have the files set up, let's apply the EXE to the patcher to use them! Just take the Doukutsu.exe and drag and drop it into the patcher. '''Here's a blurb from Clownacy about the Patcher: "The EXE patcher just requires you drag-and-drop an EXE onto it, and it'll spit out a patched file with the name 'Doukutsu_mod_loader.exe'. It performs some tests to check if the file is already patched, or if it's been modified in a way that may make it incompatible." And you're done! Be sure to configure your mods.txt to your liking! The Mods (And what they exactly do) Included with the Mod Loader: ogg_music This mod has a settings file, with the following options: # playlist - Defines the filename of the playlist file The playlist file is in a special format: each line represents a song, corresponding to the game's internal music order. Each line consists of a comma-separated list, with the first thing in the list being the path to the Ogg file, and every thing after that being a property of said Ogg file. The following properties are currently available: # loop - When the Ogg file ends, it begins again # split - Each song is represented by two Ogg files, in the same way as the Remastered music in Cave Story+ (more info in the first half of the post) wasd_input A reimplementation of the WASD mod. This one allows the use of a greater range of keyboard keys than the old EXE mod. Controls: * W - Up * A - Left * S - Down * D - Right * O - Shoot * P - Jump * [ - Inventory * ] - Map * 9 - Previous weapon * 0 - Next weapon 60fps A simple patch that makes the game run at 60FPS instead of 50FPS, making it play like the Nicalis releases (and presumably the prototype versions of the game). ***NOTE - You can apply the 60fps hack in the "Hackinator" located inside of Booster's Lab as well. To avoid any potential conflict, turn this mod off if you apply the 60fps hack in the Hackinator. sdl_controller_input A re-implementation of the controller system, aimed at XInput devices. This allows control of Quote using the D-Pad. Gamepads must be enabled in DoConfig for this to work. In addition, enabling gamepads does not disable keyboard controls. Controls: * D-Pad/Left Stick - Movement * A / Cross - Jump * X / Square - Shoot * Y / Triangle - Jump * B / Circle - Shoot * LB / LT / L1 / L2 - Previous weapon * RB / RT / R1 / R2 - Next weapon * Start - Inventory * Back / Select - Map ikachan_cursor Restores the unused Ikachan cursor. debug_save Restores the Debug Save menu. disable_image_protection Disables the '©Pixel' requirement in .pbm (bmp) files. **NOTE - Booster's Lab already does this for you when you load a fresh copy of Cave Story in the editor. 3ds_hud An attempt at recreating the 3DS eShop port's HUD, which is less screen-invasive graphics_enhancement Adds widescreen support, higher sprite sheet resolutions, and larger window sizes. More information can be found in its thread here. Technicals What the Mod Loader does is hijack the game during startup (in WinMain), and load a DLL. This DLL then executes all DLLs listed in mods.txt, which patch the Cave Story EXE in memory. If the loader fails to initialise, it simply gives up and lets Cave Story run as vanilla without crashing. The loader was designed for Version 1.0.0.6 of Cave Story. This includes the original Japanese version, the English-translated version, and the WASD modification. I cannot guarantee its compatibility with mods and older versions of the game. Additional Notes for using the ogg_music mod * As of now, the "ogg_music" mod is not compatible with TSC+. * If there are no available .oggs to play to the corresponding